package com.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class ViewController {

    /**
     * 1.转发
     *   return的语法：forward:xxx
     *      如果直接转发到某个页面，源码当中没有进行解析，需要手动添加前缀和后缀
     *          此方式不建议使用 直接跳转页面不需要转发，直接写页面的名字有源码自动解析就ok
     *      如果转发到其他的Controller，直接写 forward:/xxx
     *          此方式比较常用
     * @param model
     * @return
     */
    @RequestMapping("/forward")
    public String forwardPage(Model model){
        System.out.println("forward....");
        //此model向页面中传递数据
        model.addAttribute("gender","女");
        return "forward:/WEB-INF/jsp/view.jsp";
    }

    /**
     * 重定向到当前项目之外的资源 不能携带数据
     * @return
     */
    @RequestMapping("/redirectOther")
    public String redirectOther(String kw){
        System.out.println("redirectOther....");
        System.out.println("kw:"+kw);
        return "redirect:http://www.baidu.com/";
    }

    /**
     * 重定向到当前项目的内部资源 以？携带数据
     * @return
     */
    @RequestMapping("/redirectSelf")
    public String redirectSelf(){
        System.out.println("redirectSelf");
        return "redirect:/redirectOther?kw=self";
    }

}
